﻿namespace Whut.ObjectSharePointMapper
{
    using System;
    using System.Collections.Generic;
    using System.Linq.Expressions;

    public interface IQuery<TEntity>
    {
        void AddCondition<TProperty>(Expression<Func<TEntity, TProperty>> propertySelector, ConditionType type, TProperty propertyValue);

        void AddCondition<TProperty>(ConditionOperator conditionOperator, Expression<Func<TEntity, TProperty>> propertySelector, ConditionType type, TProperty propertyValue);

        TEntity GetSingleResult();

        IEnumerable<TEntity> GetResults();
    }
}
